package data.composition.factory.core;

import cn.hutool.core.lang.func.Func1;

import java.util.Collection;
import java.util.function.Function;

/**
 * @author ZhangJinyu
 * @since 2024-12-13
 */
public interface CollectionMapping<T, R, V> {

    CollectionMapping<T, R, V> map(Func1<T, Collection<R>> left);

    <RV> CollectionMapping<T, R, V> map(Func1<T, Collection<RV>> left, Function<R, RV> right);

    DataComposition<T> over();

}
